package com.bestow.basic.service;

import java.util.Date;
import java.util.List;
import java.util.Map;

import com.bestow.basic.domain.FndCodingRuleValues;

/**
 * 编码规则值Service接口
 * 
 * @author liliu
 * @date 2022-09-03
 */
public interface IFndCodingRuleValuesService 
{
    /**
     * 查询编码规则值
     * 
     * @param codingRuleId 编码规则值主键
     * @return 编码规则值
     */
    public FndCodingRuleValues selectFndCodingRuleValuesByCodingRuleId(Long codingRuleId);

    /**
     * 查询编码规则值列表
     * 
     * @param fndCodingRuleValues 编码规则值
     * @return 编码规则值集合
     */
    public List<FndCodingRuleValues> selectFndCodingRuleValuesList(FndCodingRuleValues fndCodingRuleValues);

    /**
     * 新增编码规则值
     * 
     * @param fndCodingRuleValues 编码规则值
     * @return 结果
     */
    public int insertFndCodingRuleValues(FndCodingRuleValues fndCodingRuleValues);

    /**
     * 修改编码规则值
     * 
     * @param fndCodingRuleValues 编码规则值
     * @return 结果
     */
    public int updateFndCodingRuleValues(FndCodingRuleValues fndCodingRuleValues);

    /**
     * 批量删除编码规则值
     * 
     * @param codingRuleIds 需要删除的编码规则值主键集合
     * @return 结果
     */
    public int deleteFndCodingRuleValuesByCodingRuleIds(Long[] codingRuleIds);

    /**
     * 删除编码规则值信息
     * 
     * @param codingRuleId 编码规则值主键
     * @return 结果
     */
    public int deleteFndCodingRuleValuesByCodingRuleId(Long codingRuleId);

    /**
     * 获取编码规则
     *
     * @return 结果
     */
    public String getCodeRuleValue(String documentCategory, String documentType, String businessType, Map<String, String> params);

    /**
     * 获取编码规则
     *
     * @return 结果
     */
    public String getCodeRuleValue(String documentCategory, String documentType, String businessType, Date date, Map<String, String> params);
}
